#include "MyTimer.h"

void Timer0_Init(void)		//工作模式为16位非自动重载
{
	AUXR &= 0x7F;			//定时器时钟12T模式
	TMOD &= 0xF0;			//设置定时器模式
	TMOD |= 0x01;			//设置定时器模式
	
	TL0 = 0;				//清零
	TH0 = 0;				//清零
	TF0 = 0;				//清除TF0标志
	TR0 = 0;				//定时器0不计时
}


//定时器0的延时程序
void TI_Delay_us(unsigned int us)
{
	u16 Value  = 65535 - us * (1000 / 500); 
    TH0 = Value >> 8;
    TL0 = Value & 0xFF;	
	TF0=0;//清除标志位
	TR0=1;//开启定时器			
	while(!TF0);
	TF0=0;//清除标志位	
	TR0=0;//关闭定时器
}




/*********************************************************************************************************
* @brief    定时器中断输出38KHZ
* @param  	无
* @retval 	无
************************************************************************************************** */
void Timer1_38KHZ(void)
{
	AUXR |= 0x40;			//定时器时钟1T模式
	TMOD &= 0x0F;			//设置定时器模式
	TL1 = T1_VALUE;    		// 设置定时器初值
    TH1 = T1_VALUE >> 8;
	TF1 = 0;				//清除TF1标志
	TR1 = 1;				//定时器1开始计时	
	PT1 = 3;				//最高优先级
	ET1 = 1;           		//允许定时器1中断
    EA = 1;           		//开启总中断	
}

void Timer1_int (void) interrupt TIMER1_VECTOR
{
	IR_38KHZ = ~IR_38KHZ;
}
